package com.platform.dao;

import com.platform.domain.TbSysCode;
import com.platform.domain.TbSysCodeClass;

import java.util.List;

/**
 * 字典表数据库查询接口
 * User: wangyanginfo
 * Date: 12-8-20
 * Time: 下午5:42
 */
public interface DictDao {

    /**
     * 根据主键查询字典分类
     *
     * @param classId 分类ID
     * @return 字典分类对象
     * @throws Exception
     */
    TbSysCodeClass queryCodeClass(String classId) throws Exception;

    /**
     * 根据字典分类对象条件查询符合条件的字典分类对象集合
     *
     * @param codeClass 字典分类对象
     * @return 字典对象集合
     * @throws Exception
     */
    List<TbSysCodeClass> queryCodeClass(TbSysCodeClass codeClass) throws Exception;

    /**
     * 插入新的字典分类
     *
     * @param codeClass 字典分类对象
     * @return 执行是否成功标识
     * @throws Exception
     */
    int insertCodeClass(TbSysCodeClass codeClass) throws Exception;

    /**
     * 更新字典分类
     *
     * @param codeClass 字典分类对象
     * @return 执行是否成功标识
     * @throws Exception
     */
    int updateCodeClass(TbSysCodeClass codeClass) throws Exception;

    /**
     * 根据主键删除字典分类
     *
     * @param classId 分类ID
     * @return 执行是否成功标识
     * @throws Exception
     */
    int deleteCodeClass(String classId) throws Exception;

    /**
     * 根据主键查询字典
     *
     * @param codeId 分类ID
     * @return 字典对象
     * @throws Exception
     */
    TbSysCode queryCode(String codeId) throws Exception;

    /**
     * 根据字典对象条件查询符合条件的字典对象集合
     *
     * @param code 字典对象
     * @return 字典对象集合
     * @throws Exception
     */
    List<TbSysCode> queryCodes(TbSysCode code) throws Exception;

    /**
     * 插入新的字典对象
     *
     * @param code 字典对象
     * @return 执行是否成功标识
     * @throws Exception
     */
    int insertCode(TbSysCode code) throws Exception;

    /**
     * 更新字典
     *
     * @param code 字典对象
     * @return 执行是否成功标识
     * @throws Exception
     */
    int updateCode(TbSysCode code) throws Exception;

    /**
     * 根据主键删除字典
     *
     * @param codeId 字典ID
     * @return 执行是否成功标识
     * @throws Exception
     */
    int deleteCode(String codeId) throws Exception;

}
